/**
 * 聊天状态管理模块 (Chat State Management Module)
 * 使用 Pinia 实现的状态管理，用于统一管理多个AI助手的聊天记录
 * 
 * 存储内容：
 * - chatGPTMessages: ChatGPT对话记录
 * - gminiMessages: Google Gemini对话记录
 * - xaiMessages: X.AI对话记录
 * - xunfeiMessages: 讯飞星火对话记录
 * - ernieMessages: 百度文心一言对话记录
 * - qwenMessages: 通义千问对话记录
 * 
 * 在以下组件中使用：
 * - views/ChatView.vue (ChatGPT对话界面)
 * - components/Gmini.vue (Gemini对话界面)
 * - views/XunfeiView.vue (讯飞星火对话界面)
 * - views/ErnieView.vue (文心一言对话界面)
 * - views/QwenView.vue (通义千问对话界面)
 */

import { defineStore } from 'pinia'

// 定义聊天状态管理store
export const useChatStore = defineStore('chat', {
  // 状态：存储各AI助手的聊天记录数组
  state: () => ({
    chatGPTMessages: [],    // ChatGPT的对话历史
    gminiMessages: [],      // Gemini的对话历史
    xaiMessages: [],        // X.AI的对话历史
    xunfeiMessages: [],     // 讯飞星火的对话历史
    ernieMessages: [],      // 百度文心一言的对话历史
    qwenMessages: []  ,      // 通义千问的对话历史
     deepseekMessages: []        // 通义千问的对话历史
  }),

  // 操作方法
  actions: {
    // ChatGPT消息操作
    addChatGPTMessage(message) {
      this.chatGPTMessages.push(message)
    },
    clearChatGPTMessages() {
      this.chatGPTMessages = []
    },

    // Gemini消息操作
    addGminiMessage(message) {
      this.gminiMessages.push(message)
    },
    clearGminiMessages() {
      this.gminiMessages = []
    },

    // X.AI消息操作
    addXAIMessage(message) {
      this.xaiMessages.push(message)
    },
    clearXAIMessages() {
      this.xaiMessages = []
    },

    // 讯飞星火消息操作
    addXunfeiMessage(message) {
      this.xunfeiMessages.push(message)
    },
    clearXunfeiMessages() {
      this.xunfeiMessages = []
    },

    // 百度文心一言消息操作
    addErnieMessage(message) {
      this.ernieMessages.push(message)
    },
    clearErnieMessages() {
      this.ernieMessages = []
    },

    // 通义千问消息操作
    addQwenMessage(message) {
      this.qwenMessages.push(message)
    },
    clearQwenMessages() {
      this.qwenMessages = []
    }
    ,
    // Deepseek消息操作
    addDeepseekMessage(message) {
      this.deepseekMessages.push(message)
    },
    clearDeepseekMessages() {
      this.deepseekMessages = []
    }
  }
})
